A present day process facility (e.g., a manufacturing plant, a mineral or crude oil refinery, etc.) is typically managed using a distributed control system. A contemporary distributed control system includes numerous modules that are tailored to monitor and/or control various processes of the facility. Conventional means link these modules together to produce the distributed nature of the control system. This affords increased performance and a capability to expand or reduce (scale) the control system to satisfy changing facility needs.
Process facility management providers, such as HONEYWELL, INC., develop process control systems that can be tailored to satisfy wide ranges of process requirements (e.g., global, local or otherwise) and facility types (e.g., manufacturing, refining, etc.). These providers have two principle objectives. The first objective is to centralize control of as many processes as possible to improve an overall efficiency of the facility. The second objective is to support a common interface that communicates data between various modules controlling or monitoring the processes, and also with a centralized controller or operator center, if any.
Each process, or group of associated processes, has one or more input characteristics (e.g., flow, feed, power, etc.) and one or more output characteristics (e.g., temperature, pressure, etc.) associated with it. Model predictive control ("MPC") techniques have been used to optimize processes as a function of these input and output characteristics. One MPC technique uses algorithmic representations of a process to estimate characteristic values (represented as parameters, variables, etc.) associated with the process in order to better control it. In recent years, physical, economic and other factors have been incorporated into process control systems.
Examples of such techniques are described in: U.S. Pat. No. 5,351,184, entitled "Method of Multivariable Predictive Control Utilizing Range Control;" U.S. Pat. No. 5,561,599, entitled "Method of Incorporating Independent Feedforward Control in a Multivariable Predictive Controller;" U.S. Pat. No. 5,572,420, entitled "Method of Optimal Controller Design of Multivariable Predictive Control Utilizing Range Control;" and U.S. Pat. No. 5,574,638, entitled "Method of Optimal Scaling of Variables in a Multivariable Predictive Controller Utilizing Range Control." The aforementioned patents are commonly owned by the assignee of the present invention and are incorporated herein by reference for all purposes.
The distributed process control systems used to monitor and control a process are frequently linked by common communication pathways, such as by a LAN architecture or by a WAN architecture. When a requesting node needs a datum from a responding node, it issues a request for the datum across the network and the responding node then returns the datum back across the network. This request/respond cycle is repeated as frequently as the requesting node needs the current value of the datum. Inevitably, this leads to data distribution problems on the network as data traffic on the network nears the maximum bandwidth of the network and bottlenecks are created at heavily requested nodes.
U.S. patent application Ser. No. 08/920,265, incorporated by reference above, discloses a unique data distribution system whereby a requesting node subscribes to another node that contains the requested data. The requesting, or "subscribing," node identifies the desired data and specifies a rate at which the desired data is needed from the "publishing" node. Thereafter, the publishing node periodically sends data to the subscriber node without the need for repeated requests for the data from the subscribing node. This reduces the overall data traffic on the network.
The publish/subscribe scheme is further enhanced by a "report by exception" scheme whereby a publisher node sends data to a subscriber node only if the value of the data has changed from the most recent value sent to the subscriber node. If the subscriber node does not receive an updated value of a particular datum, the subscriber node continues to use the most recently sent value of the data. Since data is transferred only when it changes, traffic on the network is further reduced by this "report by exception" scheme.
U.S. patent application Ser. No. 08/993,336 discloses a unique scheme for maintaining data coherency (i.e., "synchronizing") in a redundant process controller. A redundant process controller comprises a primary process controller and a secondary process controller, whereby data modifications in the memory of the primary process controller are mirrored into the memory of the secondary process controller. In the event of a failure of the primary process controller, the secondary process controller may immediately take over for the primary process controller with minimal disruption of process control.
Redundant process control systems that combine a publish/subscribe data distribution scheme and a "report by exception" data distribution scheme frequently encounter process control disruptions whenever a primary process controller "fails over" to a secondary process controller. When a primary process controller fails, either in a publisher or a subscriber, the subscription relationship between a publisher and a subscriber is lost and must be reestablished in order for the secondary process controller to send or receive new data. Additionally, a secondary process controller that is a subscriber must continue to provide process data values to the processing subsystem that is being controlled at the same time that the secondary process controller is assuming control from the primary process controller after a fail over.
Therefore, there is a need in the art for improved control systems capable of switching a secondary process controller into an "active" primary state with minimal control disruption. In particular, there is a need in the art for improved control systems whereby a secondary subscriber process controller can reestablish a subscription relationship with publisher nodes after a failure of a primary process controller. There is a still further need in the art for a secondary subscriber process controller that can continue to provide process data values to a controlled process subsystem while reestablishing subscription relationships with one or more publisher nodes.